﻿using System;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Data;

namespace WinRTFramework.Common
{
	/// <summary>
	/// Value converter that translates false to <see cref="Visibility.Visible"/> and true to
	/// <see cref="Visibility.Collapsed"/>.
	/// </summary>
	public sealed class BooleanToVisibilityInverseConverter : IValueConverter
	{
		public object Convert(object value, Type targetType, object parameter, string language)
		{
			return (value is bool && !(bool)value) ? Visibility.Visible : Visibility.Collapsed;
		}

		public object ConvertBack(object value, Type targetType, object parameter, string language)
		{
			return value is Visibility && (Visibility)value != Visibility.Visible;
		}
	}
}
